package com.zy.ems.common.error;

import com.zy.ems.common.exception.ErrorStatus;

/**
 * 
 * @ClassName: RecommendError
 * @Description: 支付模块错误码：支付码，6000开始；退款码，6300开始
 * @author zhupengren
 * @date 2014年9月29日 下午4:13:05
 *
 */
public class PayCode extends ErrorStatus {

    /**
     * 6001 暂不支持此支付方式
     */
    public static final ErrorStatus pay_001 = new PayCode(6001, "暂不支持此支付方式");

    /**
     * 6002 无相关支付流程
     */
    public static final ErrorStatus pay_002 = new PayCode(6002, "无相关支付流程");

    /**
     * 6003 配置文件未初始化
     */
    public static final ErrorStatus pay_003 = new PayCode(6003, "配置文件未初始化");

    /**
     * 6004 不对应的商户代码和私钥
     */
    public static final ErrorStatus pay_004 = new PayCode(6004, "不对应的商户代码和私钥");

    /**
     * 6005 签名认证失败
     */
    public static final ErrorStatus pay_005 = new PayCode(6005, "签名验证失败");

    /**
     * 6006 无法跳转到支付平台
     */
    public static final ErrorStatus pay_006 = new PayCode(6006, "无法跳转到支付平台");

    /**
     * 6007 无法获取配置参数
     */
    public static final ErrorStatus pay_007 = new PayCode(6007, "无法获取配置参数");

    /**
     * 6008 支付错误，订单不存在
     */
    public static final ErrorStatus pay_008 = new PayCode(6008, "支付错误，订单不存在");

    /**
     * 6009 需要支付金额不符，请重新进行提交
     */
    public static final ErrorStatus pay_009 = new PayCode(6009,
            "需要支付金额不符，请重新进行提交");

    /**
     * 6011 无效的公钥验证
     */
    public static final ErrorStatus pay_011 = new PayCode(6011, "无效的公钥验证");

    /**
     * 6012 后台回调函数失败
     */
    public static final ErrorStatus pay_012 = new PayCode(6012, " 后台回调函数失败");

    /**
     * 6013 获取Bean失败
     */
    public static final ErrorStatus pay_013 = new PayCode(6013, "获取Bean失败");

    /**
     * 6014 获取access_token失败，请使用 PayCode.sys_010，非法用户
     */
    @Deprecated
    public static final ErrorStatus pay_014 = new PayCode(6014,
            "获取access_token失败");

    /**
     * 6015 打包参数出错
     */
    public static final ErrorStatus pay_015 = new PayCode(6015, "打包参数失败");

    /**
     * 6016 获取预支付id失败
     */
    public static final ErrorStatus pay_016 = new PayCode(6016, "获取预支付id失败");

    /**
     * 6017 网络异常
     */
    public static final ErrorStatus pay_017 = new PayCode(6017, "网络异常");

    /**
     * 6018 请求报文错误
     */
    public static final ErrorStatus pay_018 = new PayCode(6018, "请求报文错误");

    /**
     * 6019 获取支付流水号错误
     */
    public static final ErrorStatus pay_019 = new PayCode(6019, "获取支付流水号错误");

    /**
     * 6020 不需要重复支付
     */
    public static final ErrorStatus pay_020 = new PayCode(6020, "不需要重复支付");

    /**
     * 6021查询订单出错
     */
    public static final ErrorStatus pay_021 = new PayCode(6021, "查询订单出错");

    /**
     * 6023交易失败
     */
    public static final ErrorStatus pay_023 = new PayCode(6023, "交易失败");

    /**
     * 6024重复回调
     */
    public static final ErrorStatus pay_024 = new PayCode(6024, "重复回调");

    /**
     * 6025回调成功
     */
    public static final ErrorStatus pay_025 = new PayCode(6025, "回调成功");

    /**
     * 6026支付订单已经取消
     */
    public static final ErrorStatus pay_026 = new PayCode(6026, "支付订单已经取消");

    /**
     * 6027支付订单已经取消
     */
    public static final ErrorStatus pay_027 = new PayCode(6027, "退款提交成功");

    /**
     * 6028支付订单已经取消
     */
    public static final ErrorStatus pay_028 = new PayCode(6028, "退款成功");

    /**
     * 6029支付订单已经取消
     */
    public static final ErrorStatus pay_029 = new PayCode(6029, "退款失败");

    /**
     * 6030 订单不支持此支付方式
     */
    public static final ErrorStatus pay_030 = new PayCode(6030, "订单不支持此支付方式");

    /* -------------------------- 支付查询分割线 -------------------------- */

    /**
     * 6101，暂不支持此查询方式
     */
    public static final ErrorStatus pay_101 = new PayCode(6101, "暂不支持此查询方式");

    /**
     * 6102，订单已支付
     */
    public static final ErrorStatus pay_102 = new PayCode(6102, "订单已支付");

    /**
     * 6103，获取订单支付记录失败
     */
    public static final ErrorStatus pay_103 = new PayCode(6103, "获取订单支付记录失败");

    /* -------------------------- 退款分割线 -------------------------- */

    /**
     * 6301，退款请求已提交
     */
    public static final ErrorStatus refund_000 = new PayCode(6300, "退款请求已提交");

    /**
     * 6301，退款单已退款
     */
    public static final ErrorStatus refund_001 = new PayCode(6301, "退款单已退款");

    /**
     * 6302，退款单不存在或状态不是未退款
     */
    public static final ErrorStatus refund_002 = new PayCode(6302,
            "退款单不存在或状态不是未退款");

    /**
     * 6303，退款单未审核
     */
    public static final ErrorStatus refund_003 = new PayCode(6303, "退款单未审核");

    /**
     * 6304，暂不支持此退款方式
     */
    public static final ErrorStatus refund_004 = new PayCode(6304, "暂不支持此退款方式");

    /**
     * 6305，退款失败
     */
    public static final ErrorStatus refund_005 = new PayCode(6305, "退款失败");

    /**
     * 6306，退款成功
     */
    public static final ErrorStatus refund_006 = new PayCode(6306, "退款成功");

    /* -------------------------- 退款查询分割线 -------------------------- */
    /**
     * 6401，暂不支持此查询方式
     */
    public static final ErrorStatus refund_401 = new PayCode(6401, "暂不支持此查询方式");

    /**
     * 6402，退款单不存在
     */
    public static final ErrorStatus refund_402 = new PayCode(6402, "退款单不存在");

    /**
     * 6403，退款单状态不是正在退款
     */
    public static final ErrorStatus refund_403 = new PayCode(6403,
            "退款单状态不是正在退款");

    /**
     * 6404，退款单日志不存在
     */
    public static final ErrorStatus refund_404 = new PayCode(6404, "退款单日志不存在");

    /**
     * 6405，退款单日志状态不是已提交
     */
    public static final ErrorStatus refund_405 = new PayCode(6405,
            "退款单日志状态不是已提交");

    /* -------------------------- 汇率相关 -------------------------- */
    /**
     * 6501，暂不支持此汇率查询
     */
    public static final ErrorStatus rate_001 = new PayCode(6501, "暂不支持此汇率查询");

    protected PayCode(int code, String codeMsg) {
        super(code, codeMsg);
    }

    public static void main(String[] args) {
        System.out.println(java.lang.Math.sqrt(399 * 1870));
    }

    @Override
    public int getModuleCode() {
        return 6000;
    }
}
